Improving Source Code Locality
نویسنده
چکیده
Developers working with source code have a strong sense of locality defined by both the modularity of the system and the development environment. For a particular change task some subset of the system will be relevant, and when that subset is not a localized subset, it can be difficult for the developer to identify the relevant entities and to understand how they fit together. This is due to an effect sometimes called cognitive tunnel vision. We propose to study and formalize this notion of locality for software development and produce an interactive visualization that supports a more flexible locality based on navigation activity and multiple relationship types. This should make relevant entities more localized and easier to identify and work with.
منابع مشابه
Discovery of Locality-Improving Refactorings by Reuse Path Analysis
Due to the huge speed gaps in the memory hierarchy of modern computer architectures, it is important that programs maintain a good data locality. Improving temporal locality implies reducing the distance of data reuses that are far apart. The best existing tools indicate locality bottlenecks by highlighting both the source locations generating the use and the subsequent cache-missing reuse. Eve...
متن کاملThe Role of Syntactic and Semantic Locality of Crossover in Genetic Programming
This paper investigates the role of syntactic locality and semantic locality of crossover in Genetic Programming (GP). First we propose a novel crossover using syntactic locality, Syntactic Similarity based Crossover (SySC). We test this crossover on a number of real-valued symbolic regression problems. A comparison is undertaken with Standard Crossover (SC), and a recently proposed crossover f...
متن کاملCustom Memory Allocation for Free Improving Data Locality with Container-Centric Memory Allocation
We propose a novel container-centric memory allocation scheme. In this scheme, the container’s semantics guide the memory allocation, which results in data locality improvement and execution time reduction. The container-centric allocation provides the benefits of custom memory allocation, with the portability advantage. Applications need not change a single line of code, but rather change the ...
متن کاملFast and Efficient Partial Code Reordering: Taking Advantage of Dynamic Recompilation
Poor instruction cache locality can degrade performance on modern architectures. For example, our simulation results show that eliminating all instruction cache misses improves performance by as much as 16% for a modestly sized instruction cache. In this paper, we show how to take advantage of dynamic code generation in a Java Virtual Machine (VM) to improve instruction locality at run-time. We...
متن کاملCombining optimization for cache and instruction-level parallelism
Current architectural trends in instruction-level parallelism (ILP) have significantly increased the computational power of microprocessors. As a result, the demands on the memory system have increased dramatically. Not only do compilers need to be concerned with finding ILP to utilize machine resources effectively, but they also need to be concerned with ensuring that the resulting code has a ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004